<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.prime.com.tr/ui"
	xmlns:fn="http://java.sun.com/jsp/jstl/functions"
	xmlns:c="http://java.sun.com/jsp/jstl/core"
	template="./templates/main.xhtml">

	<ui:define name="title">Listado de empleados</ui:define>

	<ui:define name="content">

		<f:metadata>
			<f:event type="preRenderView" listener="#{empleadosBean.buscar}" />
		</f:metadata>

		<h:form id="listado">

			<p:dataTable id="empleados" value="#{empleadosBean.empleados}"
				var="empleado"
				rowEditListener="#{empleadosBean.rowEditEmpleadoListener}"
				onRowEditUpdate="growl empleados"
				emptyMessage="No se han hallado empleados">

				<p:column headerText="Nombre" sortBy="#{empleado.nombre}">
					<p:cellEditor>
						<f:facet name="output">
							<p:commandLink value="#{empleado.nombre}" styleClass="enlace"
								oncomplete="document.location.href='#{request.contextPath}/ui/detalleEmpleado.jsf?idEmpleado=#{empleado.id}'"
								title="Ver detalle empleado">
							</p:commandLink>
						</f:facet>
						<f:facet name="input">
							<h:inputText value="#{empleado.nombre}" maxlength="50" size="13" />
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column headerText="Primer apellido"
					sortBy="#{empleado.apellido1}">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{empleado.apellido1}" />
						</f:facet>
						<f:facet name="input">
							<h:inputText value="#{empleado.apellido1}" maxlength="50"
								size="13" />
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column headerText="Segundo apellido"
					sortBy="#{empleado.apellido2}">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{empleado.apellido2}" />
						</f:facet>
						<f:facet name="input">
							<h:inputText value="#{empleado.apellido2}" maxlength="50"
								size="13" />
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column headerText="Puntos acumulados" sortBy="#{empleado.puntos}">
					<h:outputText value="#{empleado.puntos}"
						converter="javax.faces.Integer" />
				</p:column>

				<p:column headerText="N.I.F." sortBy="#{empleado.nif}">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{empleado.nif}" />
						</f:facet>
						<f:facet name="input">
							<h:inputText value="#{empleado.nif}" maxlength="9" size="9" />
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column headerText="Estado"
					sortBy="#{empleado.estado.descripcion}">
					<p:cellEditor>
						<f:facet name="output">
							<h:outputText value="#{empleado.estado.descripcion}" />
						</f:facet>
						<f:facet name="input">
							<h:selectOneMenu value="#{empleado.estado}">
								<f:selectItems value="#{empleadosBean.estados}" />
							</h:selectOneMenu>
						</f:facet>
					</p:cellEditor>
				</p:column>

				<p:column style="width:0%">

					<f:facet name="header">
						<h:outputText value="" />
					</f:facet>

					<p:rowEditor />

					<p:commandButton image="cancelar" title="Eliminar empleado"
						onclick="dlgConfirmEliminacion.show()" immediate="true">
						<f:setPropertyActionListener target="#{empleadosBean.idEmpleado}"
							value="#{empleado.id}" />
					</p:commandButton>

				</p:column>

			</p:dataTable>

			<br />

			<p:button value="Nuevo empleado" image="nuevo" outcome="altaEmpleado" />

		</h:form>

		<h:form prependId="false" id="confirmarEliminacion">

			<p:dialog header="#{msg['label.eliminarEmpleado']}" width="330"
				height="160" widgetVar="dlgConfirmEliminacion" resizable="true"
				showEffect="clip" hideEffect="clip" modal="true">

				<h3>#{msg['label.confirmEliminacionEmpeado']}</h3>

				<p:commandButton image="confirmar" value="Eliminar"
					update="@form listado growl"
					oncomplete="dlgConfirmEliminacion.hide()"
					actionListener="#{empleadosBean.eliminar}" />

				<p:commandButton image="volver" value="Volver"
					onclick="dlgConfirmEliminacion.hide()" />

			</p:dialog>
		</h:form>
	</ui:define>

</ui:composition>